// index.js
// 获取应用实例
const app = getApp()

Page({
  data: {
    movies:[],
    cid:1
  },
  // 自定义方法
  // 导航切换
  nav(e){
    let cid=e.target.dataset.id;
    this.setData({cid})
    // 获取相应列表的数据
    // wx.request({
    //   url: 'https://api.tedu.cn/index.php',
    //   mothod:"GET",
    //   data:{cid:cid,offset:0},
    //   success:(res)=>{
    //     this.setData({
    //       movies:res.data
    //     })
    //   }
    // })
    // 判断数据是否已经缓存
    wx.getStorage({
      key:cid,
      success:(res)=>{
        let movies=res.data;
        this.setData({movies})
      },
      fail:(err)=>{
        // 封装
    this.loadData(cid,0).then(movies=>{
      this.setData({movies})
      // 将数据存入storage,缓存下次直接用
      wx.setStorage({
        key:cid,
        data:movies
      })
    })
      }
    })
    
  },
  // 封装异步任务promise
  loadData(cid,offset){
    // 发请求前弹出等待框
    wx.showLoading({
      title: '加载中,请稍等...',
      mask:true   //遮罩层
    })
    //发请求
    return new Promise((resolve,reject)=>{
      wx.request({
        url: 'https://api.tedu.cn/index.php',
        mothod:'GET',
        data:{cid,offset},
        success:(res)=>{
          let movies=res.data;
          resolve(movies);
          // 隐藏等待框
          wx.hideLoading();
        }
      })
    })
  },


  onLoad() {
    // wx.request({
    //   url: 'https://api.tedu.cn/index.php',
    //   method:'GET',
    //   data:{cid:1,offset:0},
    //   success:(res)=>{
    //     console.log(res)
    //     this.setData({
    //       movies:res.data
    //     })
    //   }
    // })
    // 封装
    this.loadData(1,0).then(movies=>{
      this.setData({movies})
    })
  }, 
  // 上拉触底加载
  onReachBottom(){
    let cid=this.data.cid;
    let offset=this.data.movies.length;
    // wx.request({
    //   url: 'https://api.tedu.cn/index.php',
    //   mothod:'GET',
    //   data:{cid,offset},
    //   success:(res)=>{
    //     let movies=this.data.movies;
    //     movies.push(...res.data);
    //     this.setData({movies});
    //   }
    // })
    //封装
    this.loadData(cid,offset).then(movies=>{
      let movie=this.data.movies
      movie.push(...movies)
      this.setData({movies:movie})
    })
  },

  // 下拉刷新
  onPullDownRefresh(){
    this.loadData(this.data.cid,0).then(movies=>{
      // 更新页面
      this.setData({movies})
      // 停止下拉刷新
      wx.stopPullDownRefresh()
      // 更新缓存
      wx.setStorage({
        key:this.data.cid,
        data:movies
      })
    })
  }


})
